from selenium import webdriver
from selenium.webdriver.common.by import By
dr =webdriver.Firefox()
dr.get('http://stu000337/dbshop/public/')
# 1.点击登录
# 如果链接文本太长，或者有部分是动态的，可以使用部分固定的文本定位
el1=dr.find_element(By.PARTIAL_LINK_TEXT,'登')  #定位方法5：PARTIAL_LINK_TEXT
el1.click()

# 2.输入会员名称
dr.find_element(By.ID,'loginAccount').send_keys('huxian')
# 3.输入会员密码
dr.find_element(By.ID,'loginPassword').send_keys('51testing')

# 4.点击登录
# 标签名字在页面上重复较多
# 如果元素有重复，selenium默认定位第一个元素
# el2=dr.find_element(By.TAG_NAME,'button')   #定位方法7：TAG_NAME
# el2.click()

# 在html代码中，多层class值用空格表示
# 在CSS选择器和其他的代码中，多层class值用.表示
# el2=dr.find_element(By.CLASS_NAME,'btn.btn-primary')   #定位元素方法6：CLASS_MAME
# el2.click()

# XPATH = XML PATH
# 是种用在HTML代码中定位元素节点的技术
# 它与CSS选择器一样功能灵活强大，缺点是速度比CSS选择器慢，优点是功能更强大
# CSS选择器的属性表达式         标签[属性='值']
# XPATH属性表达式             //标签[@属性='值']
# 火狐浏览器能支持用XPATH搜元素
# el2=dr.find_element(By.XPATH,'//button[@type="submit"]')
el2=dr.find_element(By.CSS_SELECTOR,'button[type="submit"]')
el2.click()